During a routing stage of the design of an integrated circuit (IC), signal paths are defined that connect circuit components. Routing requirements can vary for different designs and from user to user, from company to company or even among a relatively small team of users. Varying requirements can arise, for example, due to differences in circuit type, design node, performance, expected operating conditions, experience, conventions, or even aesthetics of the routing. Routing requirements can be especially important for analog circuit designs which often require connection paths that have an exact physical pattern or shape to achieve desired performance. One design team may chose to never place routing over an area which contains a circuit component due to interference concerns while another team is more concerned with chip area and always places routing over devices, for example.
Typically, routing occurs later in the circuit design process, after logical design, simulation and physical placement. However, capturing information concerning special routing requirements for portions of a design earlier in the design flow can be beneficial. For example, knowing a desired routing pattern prior to creating the geometry to realize that pattern can be useful in circuit simulation or even designing other parts of the circuit. For example, physical distances between certain circuit components may affect the performance of these components. Knowing routing constraints earlier in the design process can be used to evaluate expected distances between the components before their physical geometries and placements are determined, which can be used to select components to minimize unwanted effects while satisfying routing requirements. A class of these effects, known as layout dependent effects, which often involve parasitic effects between circuit components, have become more important with shrinking device sizes in VLSI designs.